package applicationModel

import dominio.Planta
import home.HomePlantas
import java.util.HashSet
import java.util.Set
import org.uqbar.commons.utils.ApplicationContext
import org.uqbar.commons.utils.Observable

@Observable
class JardinZen {

	@Property Set<Planta> plantas
	@Property Planta plantaAAgregar
	@Property Planta plantaSeleccionada

	new() {
		plantas = new HashSet<Planta>
	}

	def void agregar() {
		plantas.add(plantaAAgregar)
	}

	def void search() {

		// WORKAROUND para que refresque la grilla en las actualizaciones
		plantas = new HashSet<Planta>

		// FIN WORKAROUND
		_plantas = this.getPlantas()

		// también se puede llamar homeCelulares.search(numero, nombre) 
		}

		def iniciarTierra() {
			plantaAAgregar = homePlantas.getPlantas.filter[p|p.tipo.equals("tierra")].toList.get(0)
			agregar

			//plantaAAgregar = homePlantas.searchTierra.get(1)
			//agregar
			}

			def iniciarAgua() {
				plantaAAgregar = homePlantas.getPlantas.filter[p|p.tipo.equals("agua")].toList.get(0)
				agregar

				//plantaAAgregar = homePlantas.searchAgua.get(1)
				//agregar
				}

				def void eliminarPlataSeleccionada() {
					getHomePlantas().delete(getPlantaSeleccionada)
					this.search()
					plantaSeleccionada = null
				}

				def HomePlantas getHomePlantas() {
					ApplicationContext::instance.getSingleton(typeof(Planta))
				}

				def boolean tiene(Planta planta) {
					plantas.contains(planta)
				}
			}
			